The present application relates to synchronization of data and particularly to methods and apparatus for selecting among multiple information units purporting to fulfill the same need.
The amount of data created, exchanged and used in modern society has created a somewhat unique set of problems. It is not infrequent with modern computer networks to have multiple copies of data all purporting to fulfill the same need. For example, when a user downloads a file to his or her palm top and modifies the file, only to return the modified file to the is personal computer (PC) from which the original was downloaded. The selection of which file to keep is a data synchronization problem.
The most usual solution to the data synchronization problem is to date stamp all files and select the most recent for continued storage and use. In the PC/palm top example, the most recent version whether it be on the palm top or the PC would be the version saved. When the breadth of data sources increase, such as by connection to a computer network, e.g., the Internet, the problem becomes more complex. Data requiring synchronization may arrive from many sources and may all be date stamped. However, the receiver does not know which unit of the received data is credible. Just because the data was the most recently received or transmitted does not by itself make the data more relevant than older but confirmed good data or data prepared by a different source.
Consider an out-of-office sales person who needs to know the prices of products to be sold. Data may be received from many sources, all purporting to be the list from which the sales person produces cost quotations. One list may come from the home business office, another from the marketing vice president and a third from the sales person""s immediate supervisor. These different sources may provide more information about the relevance than does the exact time that the data was prepared or transmitted. In another example, the data may not be from different places but it may all be differently distributed. Some data may be addressed to a large geographical area or to a large number of users while potentially conflicting data may be directed to just a few recipients or perhaps to one receiver only. The receiver of data purporting to fulfill the same need (conflicting data) is met with many different data copies from which a selection cannot be adequately made using present day synchronizing techniques. Thus, data synchronization remains a problem with current data selection solutions.